home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / JR-USER1.ZIP / SCUMUSER.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-09-11  |  10KB  |  732 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN002
  20.     Boolean  BOOLEAN003
  21.     Boolean  BOOLEAN004
  22.     Integer  TINTEGER004(2)
  23.     Integer  TINTEGER005(2)
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     Integer  INTEGER011
  30.     Integer  INTEGER012
  31.     Integer  INTEGER013
  32.     Integer  INTEGER014
  33.     Integer  INTEGER015
  34.     Integer  INTEGER016
  35.     Integer  INTEGER017
  36.     Integer  INTEGER018
  37.     String   TSTRING008(12)
  38.     String   TSTRING009(6)
  39.     String   STRING010
  40.     String   STRING011
  41.     String   STRING012
  42.     String   TSTRING013(3)
  43.     String   STRING014
  44.     String   STRING015
  45.  
  46. ;------------------------------------------------------------------------------
  47.  
  48.     If (AnsiOn() == 0) Then
  49.         Print "@X07@CLS@"
  50.         Newline
  51.         PrintLn "USER MAiNTENANCE v1.o CAN'T RUN WiTHOUT ANSi !"
  52.         Newline
  53.         End
  54.     Endif
  55.     TSTRING008(1) = " GROUP       "
  56.     TSTRING008(2) = " PASSWORD    "
  57.     TSTRING008(3) = " SEC. LEVEL  "
  58.     TSTRING008(4) = " DATA #      "
  59.     TSTRING008(5) = " VOiCE #     "
  60.     TSTRING008(6) = " EXP. DATE   "
  61.     TSTRING008(7) = " EXP. SEC.   "
  62.     TSTRING008(8) = " EXPERT MODE "
  63.     TSTRING008(9) = " PAGE LENGTH "
  64.     TSTRING008(10) = " PROTOCOL    "
  65.     TSTRING008(11) = " COMMENT #1  "
  66.     TSTRING008(12) = " COMMENT #2  "
  67.     TSTRING009(1) = " EDiT USER "
  68.     TSTRING009(2) = " NEXT USER "
  69.     TSTRING009(3) = " PREViOUS USER "
  70.     TSTRING009(4) = " DELETE USER "
  71.     TSTRING009(5) = " FiND USER "
  72.     TSTRING009(6) = " QUiT! "
  73.     INTEGER016 = 6
  74.     INTEGER009 = 12
  75.     INTEGER007 = 1
  76.     INTEGER006 = 1
  77.     INTEGER008 = INTEGER006
  78.     TINTEGER004(1) = 4
  79.     TINTEGER005(1) = 6
  80.     TSTRING013(1) = "@X07"
  81.     TSTRING013(2) = "@X1F"
  82.     TSTRING013(3) = "@X09"
  83.     StartDisp 1
  84.     Print "@X07@CLS@"
  85.     DispFile PPEPath() + "SCUMUSER.PCB", 0
  86.     GetUser
  87.     INTEGER014 = U_RecNum(U_Name())
  88.     FReAltUser
  89.     Gosub LABEL031
  90.     Gosub LABEL030
  91.     INTEGER018 = INTEGER014
  92.     STRING014 = U_Name()
  93.     Gosub LABEL020
  94.     :LABEL001
  95.     INTEGER009 = 6
  96.     Gosub LABEL023
  97.     If (STRING011 <> "SELECT") Then
  98.         INTEGER008 = INTEGER006
  99.         Gosub LABEL020
  100.     Else
  101.         BOOLEAN002 = 0
  102.         Gosub LABEL021
  103.         Goto LABEL002
  104.     Endif
  105.     Goto LABEL001
  106.     :LABEL002
  107.     If (INTEGER008 == 1) Then
  108.         INTEGER007 = 1
  109.         INTEGER006 = 1
  110.         INTEGER009 = 12
  111.         Gosub LABEL022
  112.         :LABEL003
  113.         Gosub LABEL023
  114.         If (STRING011 <> "SELECT") Then
  115.             If (STRING011 == Chr(27)) Then
  116.                 BOOLEAN002 = 1
  117.                 Gosub LABEL021
  118.                 BOOLEAN002 = 0
  119.                 Gosub LABEL020
  120.                 INTEGER006 = 1
  121.                 Goto LABEL001
  122.             Endif
  123.             Gosub LABEL022
  124.             Goto LABEL004
  125.         Endif
  126.         Gosub LABEL007
  127.         :LABEL004
  128.         Goto LABEL003
  129.     Endif
  130.     If (INTEGER008 == 2) Then
  131.         GetAltUser INTEGER014 + 1
  132.         If (CurUser() == -1) Then
  133.             GetAltUser 1
  134.         Endif
  135.         Gosub LABEL034
  136.         Gosub LABEL031
  137.         Gosub LABEL020
  138.         INTEGER006 = 2
  139.         Goto LABEL001
  140.     Endif
  141.     If (INTEGER008 == 3) Then
  142.         If (U_RecNum(U_Name()) == 1) Then
  143.             GetAltUser 1
  144.             Goto LABEL005
  145.         Endif
  146.         GetAltUser INTEGER014 - 1
  147.         Gosub LABEL034
  148.         Gosub LABEL031
  149.         :LABEL005
  150.         Gosub LABEL020
  151.         INTEGER006 = 3
  152.         Goto LABEL001
  153.     Endif
  154.     If (INTEGER008 == 4) Then
  155.         If (U_Sec > 0) Then
  156.             U_Sec = 0
  157.             DelUser
  158.             AnsiPos 20, 8
  159.             Print TSTRING013(3) + "0  @X08"
  160.             PutUser
  161.         Endif
  162.         INTEGER006 = 4
  163.         Gosub LABEL020
  164.         Goto LABEL001
  165.     Endif
  166.     If (INTEGER008 == 5) Then
  167.         Gosub LABEL034
  168.         INTEGER011 = 20
  169.         INTEGER012 = 4
  170.         INTEGER013 = 25
  171.         INTEGER015 = 1
  172.         STRING012 = ""
  173.         STRING010 = ""
  174.         Gosub LABEL032
  175.         If (STRING010 == "") Then
  176.             Gosub LABEL031
  177.             Goto LABEL006
  178.         Endif
  179.         INTEGER017 = INTEGER014
  180.         INTEGER014 = 0
  181.         BOOLEAN003 = 0
  182.         While (BOOLEAN003 == 0) Do
  183.             Inc INTEGER014
  184.             GetAltUser INTEGER014
  185.             STRING014 = U_Name()
  186.             AnsiPos 62, 4
  187.             Print TSTRING013(3), INTEGER014, "@X07   "
  188.             If (CurUser() == -1) Then
  189.                 BOOLEAN003 = 1
  190.             Endif
  191.             INTEGER010 = 0
  192.             INTEGER010 = InStr(Upper(STRING014), Upper(STRING010))
  193.             If (INTEGER010 > 0) Then
  194.                 If (BOOLEAN003 == 0) Then
  195.                     BOOLEAN004 = 1
  196.                     BOOLEAN003 = 1
  197.                 Endif
  198.             Endif
  199.         EndWhile
  200.         If (BOOLEAN004 == 1) Then
  201.             Gosub LABEL034
  202.             Gosub LABEL031
  203.             Goto LABEL006
  204.         Endif
  205.         GetAltUser INTEGER017
  206.         Gosub LABEL034
  207.         Gosub LABEL031
  208.         :LABEL006
  209.         INTEGER006 = 5
  210.         Gosub LABEL020
  211.         Goto LABEL001
  212.     Endif
  213.     If (INTEGER008 == 6) Then
  214.         Print "@X07@CLS@"
  215.         PrintLn "@X01   φ @X0BSCUM '94 @X01φ @X0BUSER MAiNTENANCE @X03v@X0B1@X03.@X0Bo @X01φ @X0BCODED BY@X03: @X0BJoLLY RoGeR @X01φ @X0BSCUM '94 @X01φ"
  216.         Newline
  217.         End
  218.     Endif
  219.     Goto LABEL001
  220.     :LABEL007
  221.     If (INTEGER006 == 1) Then
  222.         INTEGER011 = 20
  223.         INTEGER012 = 6
  224.         INTEGER013 = 24
  225.         INTEGER015 = 1
  226.         STRING012 = U_City
  227.         STRING010 = ""
  228.         Gosub LABEL032
  229.         Gosub LABEL033
  230.         If (STRING010 == "") Then
  231.             U_City = STRING012
  232.             Goto LABEL008
  233.         Endif
  234.         U_City = STRING010
  235.         :LABEL008
  236.         PutUser
  237.     Endif
  238.     If (INTEGER006 == 2) Then
  239.         INTEGER011 = 20
  240.         INTEGER012 = 7
  241.         INTEGER013 = 12
  242.         INTEGER015 = 3
  243.         STRING012 = U_Pwd
  244.         STRING010 = ""
  245.         Gosub LABEL032
  246.         Gosub LABEL033
  247.         If (STRING010 == "") Then
  248.             U_Pwd = STRING012
  249.             Goto LABEL009
  250.         Endif
  251.         U_Pwd = STRING010
  252.         :LABEL009
  253.         PutUser
  254.     Endif
  255.     If (INTEGER006 == 3) Then
  256.         INTEGER011 = 20
  257.         INTEGER012 = 8
  258.         INTEGER013 = 3
  259.         INTEGER015 = 4
  260.         STRING012 = U_Sec
  261.         STRING010 = ""
  262.         Gosub LABEL032
  263.         Gosub LABEL033
  264.         If (STRING010 == "") Then
  265.             U_Sec = STRING012
  266.             Goto LABEL010
  267.         Endif
  268.         U_Sec = STRING010
  269.         :LABEL010
  270.         PutUser
  271.     Endif
  272.     If (INTEGER006 == 4) Then
  273.         INTEGER011 = 20
  274.         INTEGER012 = 9
  275.         INTEGER013 = 13
  276.         INTEGER015 = 2
  277.         STRING012 = U_BDPhone
  278.         STRING010 = ""
  279.         Gosub LABEL032
  280.         Gosub LABEL033
  281.         If (STRING010 == "") Then
  282.             U_BDPhone = STRING012
  283.             Goto LABEL011
  284.         Endif
  285.         U_BDPhone = STRING010
  286.         :LABEL011
  287.         PutUser
  288.     Endif
  289.     If (INTEGER006 == 5) Then
  290.         INTEGER011 = 20
  291.         INTEGER012 = 10
  292.         INTEGER013 = 13
  293.         INTEGER015 = 2
  294.         STRING012 = U_HVPhone
  295.         STRING010 = ""
  296.         Gosub LABEL032
  297.         Gosub LABEL033
  298.         If (STRING010 == "") Then
  299.             U_HVPhone = STRING012
  300.             Goto LABEL012
  301.         Endif
  302.         U_HVPhone = STRING010
  303.         :LABEL012
  304.         PutUser
  305.     Endif
  306.     If (INTEGER006 == 6) Then
  307.         INTEGER011 = 20
  308.         INTEGER012 = 11
  309.         INTEGER013 = 6
  310.         INTEGER015 = 2
  311.         STRING012 = U_ExpDate
  312.         STRING010 = ""
  313.         Gosub LABEL032
  314.         If (STRING010 == "") Then
  315.             U_ExpDate = STRING012
  316.             Goto LABEL013
  317.         Endif
  318.         U_ExpDate = STRING010
  319.         :LABEL013
  320.         PutUser
  321.         STRING010 = U_ExpDate
  322.         Gosub LABEL033
  323.     Endif
  324.     If (INTEGER006 == 7) Then
  325.         INTEGER011 = 20
  326.         INTEGER012 = 12
  327.         INTEGER013 = 3
  328.         INTEGER015 = 4
  329.         STRING012 = U_ExpSec
  330.         STRING010 = ""
  331.         Gosub LABEL032
  332.         Gosub LABEL033
  333.         If (STRING010 == "") Then
  334.             U_ExpSec = STRING012
  335.             Goto LABEL014
  336.         Endif
  337.         U_ExpSec = STRING010
  338.         :LABEL014
  339.         PutUser
  340.     Endif
  341.     If (INTEGER006 == 8) Then
  342.         INTEGER011 = 20
  343.         INTEGER012 = 13
  344.         If (U_Expert == 1) Then
  345.             STRING010 = "NO "
  346.             U_Expert = 0
  347.             Goto LABEL015
  348.         Endif
  349.         STRING010 = "YES"
  350.         U_Expert = 1
  351.         :LABEL015
  352.         Gosub LABEL033
  353.         PutUser
  354.     Endif
  355.     If (INTEGER006 == 9) Then
  356.         INTEGER011 = 20
  357.         INTEGER012 = 14
  358.         INTEGER013 = 2
  359.         INTEGER015 = 2
  360.         STRING012 = U_PageLen
  361.         STRING010 = ""
  362.         Gosub LABEL032
  363.         Gosub LABEL033
  364.         If (STRING010 == "") Then
  365.             U_PageLen = STRING012
  366.             Goto LABEL016
  367.         Endif
  368.         U_PageLen = STRING010
  369.         :LABEL016
  370.         PutUser
  371.     Endif
  372.     If (INTEGER006 == 10) Then
  373.         INTEGER011 = 20
  374.         INTEGER012 = 15
  375.         INTEGER013 = 1
  376.         INTEGER015 = 5
  377.         STRING012 = U_Trans
  378.         STRING010 = ""
  379.         Gosub LABEL032
  380.         Gosub LABEL033
  381.         If (STRING010 == "") Then
  382.             U_Trans = STRING012
  383.             Goto LABEL017
  384.         Endif
  385.         U_Trans = STRING010
  386.         :LABEL017
  387.         PutUser
  388.     Endif
  389.     If (INTEGER006 == 11) Then
  390.         INTEGER011 = 20
  391.         INTEGER012 = 16
  392.         INTEGER013 = 30
  393.         INTEGER015 = 1
  394.         STRING012 = U_Cmnt1
  395.         STRING010 = ""
  396.         Gosub LABEL032
  397.         Gosub LABEL033
  398.         If (STRING010 == "") Then
  399.             U_Cmnt1 = STRING012
  400.             Goto LABEL018
  401.         Endif
  402.         U_Cmnt1 = STRING010
  403.         :LABEL018
  404.         PutUser
  405.     Endif
  406.     If (INTEGER006 == 12) Then
  407.         INTEGER011 = 20
  408.         INTEGER012 = 17
  409.         INTEGER013 = 30
  410.         INTEGER015 = 1
  411.         STRING012 = U_Cmnt2
  412.         STRING010 = ""
  413.         Gosub LABEL032
  414.         Gosub LABEL033
  415.         If (STRING010 == "") Then
  416.             U_Cmnt2 = STRING012
  417.             Goto LABEL019
  418.         Endif
  419.         U_Cmnt2 = STRING010
  420.         :LABEL019
  421.         PutUser
  422.     Endif
  423.     AnsiPos TINTEGER004(1), TINTEGER005(1) + INTEGER006 - 1
  424.     Return
  425.     :LABEL020
  426.     AnsiPos 7, 19
  427.     If (INTEGER008 == 1) Then
  428.         Print TSTRING013(2) + TSTRING009(1) + TSTRING013(1) + TSTRING009(2) + TSTRING013(1) + TSTRING009(3) + TSTRING009(4) + TSTRING009(5) + TSTRING009(6)
  429.     Endif
  430.     If (INTEGER008 == 2) Then
  431.         Print TSTRING013(1) + TSTRING009(1) + TSTRING013(2) + TSTRING009(2) + TSTRING013(1) + TSTRING009(3) + TSTRING009(4) + TSTRING009(5) + TSTRING009(6)
  432.     Endif
  433.     If (INTEGER008 == 3) Then
  434.         Print TSTRING013(1) + TSTRING009(1) + TSTRING009(2) + TSTRING013(2) + TSTRING009(3) + TSTRING013(1) + TSTRING009(4) + TSTRING009(5) + TSTRING009(6)
  435.     Endif
  436.     If (INTEGER008 == 4) Then
  437.         Print TSTRING013(1) + TSTRING009(1) + TSTRING009(2) + TSTRING009(3) + TSTRING013(2) + TSTRING009(4) + TSTRING013(1) + TSTRING009(5) + TSTRING009(6)
  438.     Endif
  439.     If (INTEGER008 == 5) Then
  440.         Print TSTRING013(1) + TSTRING009(1) + TSTRING009(2) + TSTRING009(3) + TSTRING009(4) + TSTRING013(2) + TSTRING009(5) + TSTRING013(1) + TSTRING009(6)
  441.     Endif
  442.     If (INTEGER008 == 6) Then
  443.         Print TSTRING013(1) + TSTRING009(1) + TSTRING009(2) + TSTRING009(3) + TSTRING009(4) + TSTRING009(5) + TSTRING013(2) + TSTRING009(6) + TSTRING013(1)
  444.     Endif
  445.     Return
  446.     :LABEL021
  447.     If (BOOLEAN002 == 1) Then
  448.         AnsiPos TINTEGER004(1), TINTEGER005(1) + INTEGER006 - 1
  449.         Print TSTRING013(1) + TSTRING008(INTEGER006)
  450.     Else
  451.         AnsiPos 7, 19
  452.         Print TSTRING013(1) + TSTRING009(1) + TSTRING009(2) + TSTRING009(3) + TSTRING009(4) + TSTRING009(5) + TSTRING009(6)
  453.     Endif
  454.     Return
  455.     :LABEL022
  456.     AnsiPos TINTEGER004(1), TINTEGER005(1) + INTEGER007 - 1
  457.     Print TSTRING013(1) + TSTRING008(INTEGER007)
  458.     AnsiPos TINTEGER004(1), TINTEGER005(1) + INTEGER006 - 1
  459.     Print TSTRING013(2) + TSTRING008(INTEGER006)
  460.     AnsiPos TINTEGER004(1), TINTEGER005(1) + INTEGER006 - 1
  461.     Return
  462.     :LABEL023
  463.     STRING010 = ""
  464.     STRING011 = ""
  465.     While (STRING010 == "") Do
  466.         STRING010 = Inkey()
  467.     EndWhile
  468.     If (Left(STRING010, 2) == "UP") Then
  469.         If (INTEGER006 > 1) Then
  470.             INTEGER007 = INTEGER006
  471.             INTEGER006 = INTEGER007 - 1
  472.             STRING011 = "UP"
  473.             Goto LABEL024
  474.         Endif
  475.         INTEGER007 = INTEGER006
  476.         INTEGER006 = INTEGER009
  477.     Endif
  478.     :LABEL024
  479.     If (Left(STRING010, 4) == "HOME") Then
  480.         If (INTEGER006 > 1) Then
  481.             INTEGER007 = INTEGER006
  482.             INTEGER006 = 1
  483.             STRING011 = "UP"
  484.         Endif
  485.     Endif
  486.     If (Left(STRING010, 4) == "LEFT") Then
  487.         If (INTEGER006 > 1) Then
  488.             INTEGER007 = INTEGER006
  489.             INTEGER006 = INTEGER007 - 1
  490.             STRING011 = "UP"
  491.             Goto LABEL025
  492.         Endif
  493.         INTEGER007 = INTEGER006
  494.         INTEGER006 = INTEGER009
  495.     Endif
  496.     :LABEL025
  497.     If (Upper(STRING010) == "A") Then
  498.         If (INTEGER006 > 1) Then
  499.             INTEGER007 = INTEGER006
  500.             INTEGER006 = INTEGER007 - 1
  501.             STRING011 = "UP"
  502.             Goto LABEL026
  503.         Endif
  504.         INTEGER007 = INTEGER006
  505.         INTEGER006 = INTEGER009
  506.     Endif
  507.     :LABEL026
  508.     If (Left(STRING010, 4) == "DOWN") Then
  509.         If (INTEGER006 < INTEGER009) Then
  510.             INTEGER007 = INTEGER006
  511.             INTEGER006 = INTEGER007 + 1
  512.             STRING011 = "DOWN"
  513.             Goto LABEL027
  514.         Endif
  515.         INTEGER007 = INTEGER006
  516.         INTEGER006 = 1
  517.     Endif
  518.     :LABEL027
  519.     If (Left(STRING010, 3) == "END") Then
  520.         If (INTEGER006 < INTEGER009) Then
  521.             INTEGER007 = INTEGER006
  522.             INTEGER006 = INTEGER009
  523.             STRING011 = "DOWN"
  524.         Endif
  525.     Endif
  526.     If (Left(STRING010, 5) == "RIGHT") Then
  527.         If (INTEGER006 < INTEGER009) Then
  528.             INTEGER007 = INTEGER006
  529.             INTEGER006 = INTEGER007 + 1
  530.             STRING011 = "DOWN"
  531.             Goto LABEL028
  532.         Endif
  533.         INTEGER007 = INTEGER006
  534.         INTEGER006 = 1
  535.     Endif
  536.     :LABEL028
  537.     If (Upper(STRING010) == "Z") Then
  538.         If (INTEGER006 < INTEGER009) Then
  539.             INTEGER007 = INTEGER006
  540.             INTEGER006 = INTEGER007 + 1
  541.             STRING011 = "DOWN"
  542.             Goto LABEL029
  543.         Endif
  544.         INTEGER007 = INTEGER006
  545.         INTEGER006 = 1
  546.     Endif
  547.     :LABEL029
  548.     If (STRING010 == Chr(13)) Then
  549.         STRING011 = "SELECT"
  550.     Endif
  551.     If (Left(STRING010, 5) == "ENTER") Then
  552.         STRING011 = "SELECT"
  553.     Endif
  554.     If (Left(STRING010, 6) == "RETURN") Then
  555.         STRING011 = "SELECT"
  556.     Endif
  557.     If (STRING011 == "") Then
  558.         STRING011 = STRING010
  559.     Endif
  560.     Return
  561.     :LABEL030
  562.     For INTEGER010 = 6 To 17
  563.         AnsiPos 4, INTEGER010
  564.         Print TSTRING013(1) + TSTRING008(INTEGER010 - 5)
  565.     Next
  566.     :LABEL031
  567.     INTEGER014 = U_RecNum(U_Name())
  568.     AnsiPos 20, 4
  569.     Print TSTRING013(3) + U_Name()
  570.     AnsiPos 62, 4
  571.     Print TSTRING013(3), INTEGER014, "   "
  572.     AnsiPos 62, 5
  573.     Print TSTRING013(3) + "@NODE@"
  574.     AnsiPos 20, 6
  575.     Print TSTRING013(3) + U_City
  576.     AnsiPos 20, 7
  577.     Print TSTRING013(3) + U_Pwd
  578.     AnsiPos 20, 8
  579.     Print TSTRING013(3) + U_Sec
  580.     AnsiPos 20, 9
  581.     Print TSTRING013(3) + U_BDPhone
  582.     AnsiPos 20, 10
  583.     Print TSTRING013(3) + U_HVPhone
  584.     AnsiPos 20, 11
  585.     Print TSTRING013(3), U_ExpDate
  586.     AnsiPos 20, 12
  587.     Print TSTRING013(3) + U_ExpSec
  588.     AnsiPos 20, 13
  589.     If (U_Expert == 1) Then
  590.         Print TSTRING013(3) + "YES"
  591.     Else
  592.         Print TSTRING013(3) + "NO "
  593.     Endif
  594.     AnsiPos 20, 14
  595.     Print TSTRING013(3) + U_PageLen
  596.     AnsiPos 20, 15
  597.     Print TSTRING013(3) + U_Trans
  598.     AnsiPos 20, 16
  599.     Print TSTRING013(3) + U_Cmnt1
  600.     AnsiPos 20, 17
  601.     Print TSTRING013(3) + U_Cmnt2
  602.     Return
  603.     :LABEL032
  604.     AnsiPos INTEGER011, INTEGER012
  605.     Print "@X07" + Space(INTEGER013 + 2)
  606.     AnsiPos INTEGER011, INTEGER012
  607.     If (INTEGER015 == 1) Then
  608.         InputStr "_", STRING010, "@X0F", INTEGER013, Mask_Ascii(), 0
  609.     Endif
  610.     If (INTEGER015 == 2) Then
  611.         InputStr "_", STRING010, "@X0F", INTEGER013, Mask_Num() + ".-", 0
  612.     Endif
  613.     If (INTEGER015 == 3) Then
  614.         InputStr "_", STRING010, "@X0F", INTEGER013, Mask_Pwd(), 0
  615.     Endif
  616.     If (INTEGER015 == 4) Then
  617.         InputStr "_", STRING010, "@X0F", INTEGER013, Mask_Num(), 0
  618.     Endif
  619.     If (INTEGER015 == 5) Then
  620.         InputStr "_", STRING010, "@X0F", INTEGER013, Mask_Ascii(), 8
  621.     Endif
  622.     Return
  623.     :LABEL033
  624.     AnsiPos INTEGER011, INTEGER012
  625.     If (STRING010 == "") Then
  626.         Print TSTRING013(3) + STRING012
  627.     Else
  628.         Print TSTRING013(3) + STRING010
  629.     Endif
  630.     Return
  631.     :LABEL034
  632.     For INTEGER010 = 4 To 17
  633.         AnsiPos 20, INTEGER010
  634.         Print "@X07" + Space(28)
  635.     Next
  636.     Return
  637.     STRING015 = "■■■ A JoLLY RoGeR PPE - SCuM '94 PPE Division ■■■"
  638.  
  639. ;------------------------------------------------------------------------------
  640. ;
  641. ; Usage report (before postprocessing)
  642. ;
  643. ; ■ Statements used :
  644. ;
  645. ;    2       End
  646. ;    120     Goto 
  647. ;    204     Let 
  648. ;    36      Print 
  649. ;    2       PrintLn 
  650. ;    80      If 
  651. ;    1       DispFile 
  652. ;    1       StartDisp 
  653. ;    1       GetUser
  654. ;    13      PutUser
  655. ;    1       DelUser
  656. ;    5       InputStr 
  657. ;    50      Gosub 
  658. ;    9       Return
  659. ;    1       Inc 
  660. ;    3       Newline
  661. ;    29      AnsiPos 
  662. ;    6       GetAltUser 
  663. ;    1       FReAltUser
  664. ;
  665. ;
  666. ; ■ Functions used :
  667. ;
  668. ;    2       -
  669. ;    91      +
  670. ;    10      -
  671. ;    66      ==
  672. ;    2       <>
  673. ;    6       <
  674. ;    2       <=
  675. ;    6       >
  676. ;    4       >=
  677. ;    80      !
  678. ;    4       &&
  679. ;    2       ||
  680. ;    4       Upper()
  681. ;    8       Left()
  682. ;    2       Space()
  683. ;    2       Chr()
  684. ;    1       InStr()
  685. ;    6       U_Name()
  686. ;    1       Inkey()
  687. ;    1       Mask_Pwd()
  688. ;    2       Mask_Num()
  689. ;    2       Mask_Ascii()
  690. ;    1       PPEPath()
  691. ;    1       AnsiOn()
  692. ;    3       U_RecNum()
  693. ;    2       CurUser()
  694. ;
  695. ;------------------------------------------------------------------------------
  696. ;
  697. ; Analysis flags : WRDH
  698. ;
  699. ; W - Write user ■ 5
  700. ;     Program writes a user record. Although this may be normal for a
  701. ;     User Editor, it may also be a way to modify an account level.
  702. ;     ■ Search for : PUTUSER
  703. ;
  704. ; R - Read user ■ 5
  705. ;     User records are read, this may signify that someone wants to get
  706. ;     various informations about a user (for example his password), but
  707. ;     this may also be normal for a program accessing user records (for
  708. ;     example a User Editor)
  709. ;     ■ Search for : GETALTUSER
  710. ;
  711. ; D - Delete user ■ 5
  712. ;     Program is deleting account(s)... Check!
  713. ;     ■ Search for : DELUSER
  714. ;
  715. ; H - Read Password or Password History ■ 5
  716. ;     Program is reading the user's password or last password history
  717. ;     This may be ok for a password manager, but it is very suspect. Check!
  718. ;     ■ Search for : U_PWDHIST, U_PWD
  719. ;
  720. ;------------------------------------------------------------------------------
  721. ;
  722. ; Postprocessing report
  723. ;
  724. ;    2       For/Next
  725. ;    2       While/EndWhile
  726. ;    76      If/Then or If/Then/Else
  727. ;    0       Select Case
  728. ;
  729. ;------------------------------------------------------------------------------
  730. ;                 AEGiS Corp - Break the routines, code against the machines!
  731. ;------------------------------------------------------------------------------
  732.